Draft
Conversation
Add custom patterns to match test files
4 tasks
misberner
suggested changes
Jan 3, 2022
Contributor
misberner
left a comment
There was a problem hiding this comment.
To be honest, I'm not a fan of this approach. It seems very limited/tailored towards a single use case, when a more general approach that doesn't rely on introducing a concept foreign to Helm charts would work as well.
Here's a rough idea sketch, off the top of my head:
- Instead of flavor, we could use either the Helm release name (
.Release.Name) or the.Release.Servicevalue. We currently don't rely on either to distinguish kubectl vs true helm, because they aren't available at the meta-templating level. However, it seems reasonable and in line with Helm's design to either set a different release name or service (or both) when renderingkubectltemplates (edit: I found that actually the chart name is different at least for sensor, so that could also be used) - Instead of suppressing individual test cases, allow conditional expect statements. Thus, in addition to supporting a multiline string for
expect, allow a list of the following form (the individual YAML labels can obviously be different):
expect:
- that: <some kubectl bundle-only property>
when: .helm.Chart.Name == "sensor"
WDYT?
Author
|
Sounds like a good solution, thanks for the feedback. |
Author
|
@misberner , just want to make sure that we are not looking at this feature for helmtest in isolation, since this is directly connected to the work in stackrox/stackrox#218. Do you plan to do a separate review of the PoC of the stackrox PR? We should be aligned on what changes we actually aim for before we iterate on this helmtest feature, I think. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This work is part of a proof-of-concept for https://issues.redhat.com/browse/ROX-8711.
The basic idea here is that we would like to execute the Helm chart's test suite also in the case where we pre-render the chart files in "deployment bundle mode".
However, the difficulty is that in general the tests require some modification depending on whether executed in the "Helm chart mode" or in the "deployment bundle mode".
This PR extends the helmtest framework such that tests can be run selectively, depending on a "flavour" value, which is passed in by the user of helmtest and which can be accessed by the leave tests defined in the test suite.